import axios from 'axios'
import { Toast } from 'vant'

//区分开发环境得服务器与生产环境的服务器
//development -开发环境
//production -生产环境
const baseURL = process.env.NODE_env === 'development' ? 'http://api.7n7.top/good/goodlist':''

//创建axios实例
const service = axios.create({
    baseURL, //基准url路径
    timeout:5000, 
    // withCredentials:true,//请求跨域时是否需要使用凭证
})

//请求拦截
service.interceptors.request.use(config =>{
    //每次请求后端接口时，在请求头中携带token数据，发送到服务端
    config.headers.token = 'tolkmedown'

    //提示效果
    Toast.loading({
        message: '加载中...',
        duration:0
      });
    return config
})

//响应拦截
service.interceptors.response.use(response =>{
    Toast.clear()

    //判断响应返回数据的格式
    if(response.status >= 200 && response.status < 300){
        //获取服务端响应返回的数据
        const { code,data } = response.data()
        //判断服务端返回的code值
        if(code === 200){
            return data 
        }
    }
    
    //如果访问有异常，则将promise 状态修改为rejected
    const err = new Error('服务端接口有异常')
    err.Error = response
    return Promise.reject(err)
})


export default service
